package math;

/**
 * @Package math
 * @Author shimmer
 * @Date 2020/8/1 10:19
 * @TODO    
 */
/*参考：https://www.runoob.com/java/java-number.html*/
public class Math常用方法 {
    public static void main(String[] args) {
        /*整数*/
        // 1. abs()
        // 返回参数的绝对值。
        System.out.println(Math.abs(-1));
        
        /*浮点数*/
        // 2. ceil()
        // 返回大于等于( >= )给定参数的的最小整数，类型为双精度浮点型。
        System.out.println(Math.ceil(100.675));
        System.out.println(Math.ceil(-90));
        // 3. floor()
        // 返回小于等于（<=）给定参数的最大整数 。
        System.out.println(Math.floor(100.675));
        System.out.println(Math.floor(-90));
        
        // 4. rint()
        // 返回与参数最接近的整数。返回类型为double。
        System.out.println(Math.rint(100.675));
        System.out.println(Math.rint(100.500));
        System.out.println(Math.rint(100.200));
        
        // 5. round()
        // 它表示四舍五入，算法为 Math.floor(x+0.5)，即将原来的数字加上 0.5 后再向下取整，
        // 所以，Math.round(11.5) 的结果为12，Math.round(-11.5) 的结果为-11。
        System.out.println(Math.round(15));
        
        /*比较*/
        // 6. min()
        // 返回两个参数中的最小值。
        System.out.println(Math.min(1,2));
        // 7. max()
        // 返回两个参数中的最大值。
        System.out.println(Math.max(1,2));
        
        /*开方*/
        // 8. exp()
        // 返回自然数底数e的参数次方。
        
        // 9. log()
        // 返回参数的自然数底数的对数值。
        
        // 10. pow()
        // 返回第一个参数的第二个参数次方。
        System.out.println(Math.pow(2, 3));

        // 11. sqrt()
        // 求参数的算术平方根。
        System.out.println(Math.sqrt(8));
        
        /*三角函数*/
        // 12	sin()
        // 求指定double类型参数的正弦值。
        // 13	cos()
        // 求指定double类型参数的余弦值。
        // 14	tan()
        // 求指定double类型参数的正切值。
        // 15	asin()
        // 求指定double类型参数的反正弦值。
        // 16	acos()
        // 求指定double类型参数的反余弦值。
        // 17	atan()
        // 求指定double类型参数的反正切值。
        // 18	atan2()
        // 将笛卡尔坐标转换为极坐标，并返回极坐标的角度值。
        
        // 19	toDegrees()
        // 将参数转化为角度。
        System.out.println(Math.toDegrees(Math.PI/2));
        // 20	toRadians()
        // 将角度转换为弧度。
        
        /*随机数*/
        // 21	random()
        // 返回一个随机数，随机数范围为 0.0 =< Math.random < 1.0。
        System.out.println((int)(Math.random()*10));
    }
}
